import pandas as pd
import numpy as np
import holoviews as hv
hv.extension("bokeh")
df_quspin = pd.read_csv("./compute_nb/quspin6.csv")
df_bdg = pd.read_csv("./compute_nb/bdg_eigenvals_full_minvals6.csv")
df_analytical = pd.read_csv("./experiments/ferromagnetic/Analytic.csv")
df_quspin["Source"] = "quspin"
df_bdg["Source"] = "bdg"
df_analytical["Source"] = "analytical"
#Rename and Drop
df_analytical["E_N"] = df_analytical["energy"]
df_analytical["M^2"] = df_analytical["min_cos"]
df_quspin = df_quspin.drop(columns=["identity"])
df_bdg = df_bdg.drop(columns=["binary", "J_term"])
df_analytical = df_analytical.drop(columns = ["energy", "min_cos", "absmin_cos"])
df_all = pd.concat([df_quspin, df_bdg, df_analytical], sort=False)
df_all = df_all[df_all["h"] == 0]
data = hv.Dataset(df_all)
df_all.head()
df_all = pd.concat([df_quspin, df_bdg, df_analytical], sort=False)
data = hv.Dataset(df_all)
phase_diagram = data.to(hv.HeatMap,['J','Delta'],'M^2',groupby=["Source"])
phase_diagram.opts(hv.opts.HeatMap(tools=['hover'],colorbar=True, clabel="M^2", width=600, height=600,toolbar='above',title='QPD, N=6, h=0',xrotation=90))
#hv.save(phase_diagram, 'energy_checks.html')
phase_diagram
df_all = pd.concat([df_quspin, df_bdg, df_analytical], sort=False)
df_all = df_all[df_all["Source"] != "bdg"]
data = hv.Dataset(df_all)
phase_diagram = data.to(hv.HeatMap,['J','Delta'],'M^2',groupby=["h", "Source"])
phase_diagram.opts(hv.opts.HeatMap(tools=['hover'],colorbar=True, clabel="M^2", width=600, height=600,toolbar='above',title='QPD N=6',xrotation=90))
hv.save(phase_diagram, 'phase_diagram.html')
phase_diagram
#Not varying h
phase_diagram = data.to(hv.HeatMap,['J','Delta'],'E_N',groupby=["Source"])
phase_diagram.opts(hv.opts.HeatMap(tools=['hover'],colorbar=True, clabel="E/N", width=600, height=600,toolbar='above',title='Energy per Particle, N=6, h=0',xrotation=90))
#hv.save(phase_diagram, 'energy_checks.html')
phase_diagram
df_all = pd.concat([df_quspin, df_bdg, df_analytical], sort=False)
df_all = df_all[df_all["Source"] != "bdg"]
data = hv.Dataset(df_all)
phase_diagram = data.to(hv.HeatMap,['J','Delta'],'E_N',groupby=["h", "Source"])
phase_diagram.opts(hv.opts.HeatMap(tools=['hover'],colorbar=True, clabel="E/N", width=600, height=600,toolbar='above',title='Energy per Particle, N=6, h=0',xrotation=90))
hv.save(phase_diagram, 'phase_diagram.html')
phase_diagram
df_all = pd.concat([df_quspin, df_bdg, df_analytical], sort=False)
df_all = df_all[df_all["Source"] != "bdg"]
df_all["quspin-bdg"] = abs(df_quspin["E_N"] - df_bdg["E_N"])
df_all["bdg-analytical"] = abs(df_bdg["E_N"] - df_analytical["E_N"])
df_all["analytical-quspin"] = abs(df_analytical["E_N"] - df_quspin["E_N"])
data = hv.Dataset(df_all)
phase_diagram = data.to(hv.HeatMap,['J','Delta'],'analytical-quspin',groupby=['h'])
phase_diagram.opts(hv.opts.HeatMap(tools=['hover'],colorbar=True, clabel="E/N", width=600, height=600,toolbar='above',title='Energy Differences Analytical-Quspin',xrotation=90))
#hv.save(phase_diagram, 'energy_differences.html')
phase_diagram
phase_diagram = data.to(hv.HeatMap,['J','Delta'],'quspin-bdg',groupby=[])
phase_diagram.opts(hv.opts.HeatMap(tools=['hover'],colorbar=True, clabel="E/N", width=600, height=600,toolbar='above',title='Energy Differences Quspin-Bdg',xrotation=90))
#hv.save(phase_diagram, 'energy_differences.html')
phase_diagram
phase_diagram = data.to(hv.HeatMap,['J','Delta'],'bdg-analytical',groupby=[])
phase_diagram.opts(hv.opts.HeatMap(tools=['hover'],colorbar=True, clabel="E/N", width=600, height=600,toolbar='above',title='Energy Differences Bdg-Analytical',xrotation=90))
#hv.save(phase_diagram, 'energy_differences.html')
phase_diagram